package org.idea.dao;

import org.idea.entity.Product;

import java.util.List;

/**
 * DAO : Data Access Object，数据访问对象
 * <p>
 * 作用：对某张表实现增、删、改、查操作的封装 - 服务于业务
 * <p>
 * 一般定义为一个接口，命名规范为：XxxDao,Xxx代表是某个实体对象（数据表）
 *
 * why? - 提高程序的扩展性和维护性
 *
 *
 * @Author zqx
 * @Date 2023-10-10
 */
public interface ProductDao {
    /**
     * 添加商品信息
     *
     * @param product 商品信息
     * @return 受影响的行数
     */
    int insertProduct(Product product);

    /**
     * 删除商品
     *
     * @param productId 商品编号
     * @return 受影响的行数
     */
    int deleteProduct(int productId);

    /**
     * 修改商品
     *
     * @param product 商品信息
     * @return 受影响的行数
     */
    int updateProduct(Product product);

    /**
     * 查询所有的商品
     *
     * @return 商品列表
     */
    List<Product> selectProduct();


}
